const whiteList = [

	// "/pages/myInfo/myInfo"
	"/pages/index/index",
	"/pages/login/login",
	"/pages/register/register"
];
//白名单 不需要登录的页面路径组成的数组

function hasPermission(url) {  //hasPermission 表示权限，许可认证

	// 在白名单中或有token，直接跳转

	if (whiteList.indexOf(url) !== -1 || uni.getStorageSync("token")) {
		//先验证是否在白名单里面 再看是否有token值 如果有token值就返回true 否则返回false
		return true;
	}
	return false;
}

uni.addInterceptor("navigateTo", {

	// 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转

	invoke(e) {
		if (e.url != "/pages/register/register") {
			uni.setStorageSync("targeUrl", e.url)
		}
		console.log('nt', e.url)
		if (!hasPermission(e.url)) {
			//!hasPermission(e.url)表示如果有权限
			uni.reLaunch({
				url: "/pages/login/login",
			});
			return false;
		}
		return true;
	},
	success(e) {
		// console.log(e)
	},
});

uni.addInterceptor("switchTab", {

	// tabbar页面跳转前进行拦截

	invoke(e) {
		console.log('st', e.url)
		if (e.url != "/pages/register/register") {
			uni.setStorageSync("targeUrl", e.url)
		}
		// uni.setStorageSync("targeUrl",e.url)  //先存储 再用relunch调用
		
		
		if (!hasPermission(e.url)) {      //通过hasPermission函数判断当前用户是否有权限访问目标页面，
										 //如果没有权限，则使用uni.reLaunch方法进行页面跳转到"/pages/login/login"，
										//并返回false表示阻止继续执行跳转操作。
			uni.reLaunch({
				url: "/pages/login/login",
			});
			return false;
		}
		return true;
	},
	success(e) {
		// console.log(e)
	},
});

// 补充， 在h5模式下 浏览器 地址栏 输入地址切换路由 拦截

// const needLoginList = [

// 	"path1",

// 	"path2"

// ]

// let token = uni.getStorageSync("token")

// let locationUrl = window.location.split("/#")[1]

// if (needLoginList.includes(locationUrl) && ！token) {

// 	uni.navigateTo({

// 		url: "loginPath"

// 	})

// }

// 从“.. / store” 进口存储;

// Const whiteList = [

// 	“ //”/pages/myInfo/myInfo”

// ];

// //白名单不需要登录的页面路径组成的数组

// 函数 hasPermission(url) {

// 	//在白名单中或有象征，直接跳转

// 	如果(whiteList.indexOf(url) ! = = -1 | | store.state.user.token) {

// 		返回真;

// 	}

// 	返回虚假;

// }

// AddInterceptor(“导航到”， {

// 	//页面跳转前进行拦截，根据返回值进行判断是否继续执行跳转

// 	援引(e)

// 	如果(!hasPermission(e.url)) {

// 		ReLaunch({

// 			Url: “ /pages/myInfo / login”,

// 		});

// 		返回虚假;

// 	}

// 	返回真;

// },

// 成功(e) {

// 	//console. log (e)

// },

// });

// AddInterceptor(“switchTab”， {

// 	//选项卡页面跳转前进行拦截

// 	援引(e)

// 	如果(!hasPermission(e.url)) {

// 		ReLaunch({

// 			Url: “ /pages/myInfo / login”,

// 		});

// 		返回虚假;

// 	}

// 	返回真;

// },

// 成功(e) {

// 	//console. log (e)

// },

// });

// 补充， 在 h5模式下浏览器地址栏输入地址切换路由拦截

// Const need LoginList = [

// 	“路径1”

// 	“ 路径2”

// ]

// Let token = uni.getStorageSync(“token”)

// Let locationUrl = window.location.split(“/#”)[1]

// 		如果(需要 LoginList.include(locationUrl) & & !token) {

// 			导航到({

// 				Url: “loginPath”

// 			})

// 		}
